Kruiser: Semi-synchronized Non-blocking Concurrent Kernel Heap Buffer Overflow Monitoring
نویسندگان
چکیده
Kernel heap buffer overflow vulnerabilities have been exposed for decades, but there is still no practical countermeasure that can be applied to the OS kernel. Previous solutions either suffer from high performance overhead or compatibility problems with the existing kernel and hardware. In this paper, we present Kruiser, a concurrent kernel heap buffer overflow monitor. Unlike conventional methods, the security enforcement of which are usually inlined into the kernel execution, we introduce a concurrent monitor process, which decouples security mechanisms from the kernel’s normal execution, leveraging the increasingly popular multicore architectures. To reduce the synchronization overhead between the monitor process and the running kernel, we design a novel semi-synchronized non-blocking monitoring algorithm, which enables an efficient runtime detection on live memory without incurring false positives. To prevent the monitor process from being tampered and provide guaranteed performance isolation, we utilize the virtualization technology to run the monitor in a trusted environment without affecting performance. We have implemented a prototype of Kruiser based on Linux and the Xen hypervisor. The evaluation shows that Kruiser can detect realistic kernel heap buffer overflow attacks effectively with minimal overhead. It imposes 2.7% throughput reduction on Apache and negligible performance overhead on SPEC CPU2006.
منابع مشابه
Software Cruising: A New Technology for Building Concurrent Software Monitor
We introduce a novel concurrent software monitoring technology, called software cruising. It leverages multicore architectures and utilizes lock-free data structures and algorithms to achieve efficient and scalable security monitoring. Applications include, but are not limited to, heap buffer integrity checking, kernel memory cruising, data structure and object invariant checking, rootkit detec...
متن کاملRICB: Integer Overflow Vulnerability Dynamic Analysis via Buffer Overflow
Integer overflow vulnerability will cause buffer overflow. The research on the relationship between them will help us to detect integer overflow vulnerability. We present a dynamic analysis methods RICB (Runtime Integer Checking via Buffer overflow). Our approach includes decompile execute file to assembly language; debug the execute file step into and step out; locate the overflow points and c...
متن کاملDetecting Heap Smashing Attacks through Fault Containment Wrappers
Buffer overflow attacks are a major cause of security breaches in modern operating systems. Not only are overflows of buffers on the stack a security threat, overflows of buffers kept on the heap can be too. A malicious user might be able to hijack the control flow of a root-privileged program if the user can initiate an overflow of a buffer on the heap when this overflow overwrites a function ...
متن کاملSystem - Vulnerabilities #1 - Acos 3.x, 4.x
Item # Vulnerability ID Score Source Score Summary 1 CVE-2015-2059 CVSS 2.0 7.5 High libidn: out-of-bounds read with stringprep on invalid UTF-8. [1] 2 CVE-2011-1425 CVSS 2.0 7.5 High xmlsec1: arbitrary file creation when verifying signatures [2] 3 CVE-2015-7696 CVSS 3.0 6.8 Med unzip: Heap overflow and DoS in 6.0 [3] 4 CVE-2014-9471 CVSS 2.0 7.5 High coreutils: memory corruption flaw in parse_...
متن کاملProspector : accurate analysis of heap and stack overflows by means of age stamps
Heap and stack buffer overflows are still among the most common attack vectors in intrusion attempts. In this paper, we ask a simple question that is surprisingly difficult to answer: which bytes contributed to the overflow? By careful observation of all scenarios that may occur in overflows, we identified the information that needs to be tracked to pinpoint the offending bytes. There are many ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012